Иногда компоненты надо создавать динамически. Например, на форме вашей программы может находится кнопка "Дополнительно...", при нажатии на которую ваша форма должна увеличится в размерах и на ней должны появится дополнительные элементы управления. Именно такой пример мы сейчас и рассмотрим.
Откройте Delphi, уменьшите форму и расположите на ней кнопку Button1. Установите свойство Caption для кнопки в "Дополнительно...":

Щелкните на кнопке Button1 и внесите в появившуюся заготовку следующий код:
procedure TForm1.Button1Click(Sender: TObject); var btn: TButton; //Переменная для кнопки edt: TEdit; //Переменная для Edit'а begin //Увеличиваем размер формы Form1.Height:=Form1.Height+40; //Отключаем кнопку Button1.Enabled:=false; //Создаем новую кнопку btn:=TButton.Create(Form1); btn.Parent:=Form1; //Устанавливаем расположение новой кнопки btn.Top:=Form1.Height div 2+20; btn.Left:=10; btn.Width:=100; btn.Height:=25; btn.Caption:='Новая кнопка'; //Создаем новый Edit edt:=TEdit.Create(Form1); edt.Parent:=Form1; //Устанавливаем расположение нового Edit'а edt.Top:=Form1.Height div 2+20; edt.Left:=120; edt.Width:=100; edt.Height:=25; end;
Запускайте программу и нажимайте на кнопку. Форма увеличит размеры и на ней появятся два новых компонента - кнопка и Edit:
